﻿//===========================[ 7 / 25 / 2011 LVI ]=============================
//				Copyright c Vitaly Lyaschenko <SkyChameleon@gmail.com>
// 								Header file
// Purpose: функции генерации данных геометрических фигур
//=============================================================================
#pragma once

#include "common.h"
#include "mathlib.h"
#include "Vertices.h"

///////////////////////////////////////////////////////////////////////////
// создает куб размера size
void createCube( std::vector < Vertex_PNT >& vertex,std::vector < _16ubit >& index,  float size = 1.0f );
///////////////////////////////////////////////////////////////////////////
// создает сетку размером sizeX на sizeY с шагом stride
void createGrid( std::vector < vec3 >& vertex, float sizeX = 14,float sizeY = 14, float stride = 0.5f );
///////////////////////////////////////////////////////////////////////////
// создает координатную сетку размером sizeX на sizeY с шагом stride
// цветом сетки colorGrid, цветом осей координат colorAxis
void createCoorGrid(  std::vector < Vertex_pc >& vertex, float sizeX = 14,float sizeY = 14, float stride = 0.5f, 
	 vec3 colorAxis = vec3( 0.0f, 0.0f, 0.0f ), vec3 colorGrid = vec3( 10.0f, 20.0f, 30.0f ) );
///////////////////////////////////////////////////////////////////////////
// создает цилиндр
bool createCylinder( float diameter, float length, size_t facet, 
	 std::vector < vec3 >& vertex, std::vector < _16ubit >& index, float& volume );
